Many different types of devices have been developed for inputting commands into a machine. For example, hand-manipulated input devices, such as computer mice, joysticks, trackballs, touchpads, and keyboards, commonly are used to input instructions into a computer by manipulating the input device. Such input devices allow a user to control movement of a virtual pointer, such as a cursor, across a computer screen, select or move an icon or other virtual object displayed on the computer screen, and open and close menu items corresponding to different input commands. Input devices commonly are used in both desktop computer systems and portable computing systems.
Input devices typically include a mechanism for converting a user input into user interface control signals, such as cursor position data and scrolling position and distance data. Although some types of input device use electromechanical transducers to convert user manipulation of the input device into user interface control signals, most recently developed input devices use optical navigation sensors to convert user manipulation of the input device into user interface control signals. The optical navigation sensors employ optical navigation technology that measures changes in position by acquiring a sequence of images of light reflecting from a surface and mathematically determining the direction and magnitude of movement over the surface from comparisons of corresponding features in the images. Such optical navigation systems typically track the scanned path of the input device based on detected pixel-to-pixel surface reflectivity differences that are captured in the images. These changes in reflectivity may be quite small depending upon the surface medium (e.g., on the order of 6% for white paper).
One problem with existing optical navigation sensors is that they are unable to navigate well on very smooth surfaces, such as glass, because the images reflected from such surfaces are insufficiently different to enable the direction and magnitude of movement over the surface to be determined reliably. In an attempt to solve this problem, optical navigation sensors have been proposed that illuminate smooth-surfaced objects with coherent light. The objects induce phase patterns in the illuminating light that are correlated with optical nonuniformities in or on the objects. Optical navigation sensors of this type include an interferometer that converts the phase patterns into interference patterns (or interferograms) that are used to determine relative movement with respect to the objects. Although this approach improves navigation performance over specular surfaces, uniform surfaces, and surfaces with shallow features, this approach relies on optical nonuniformities, such as scratches, imperfections, and particulate matter in or on the surface to produce the phase patterns that are converted into the interferograms by the component interferometers. As a result, this approach is unable to navigate reliably over surfaces that are free of such specular features.
What are needed are input systems and methods that are capable of accurately navigating over different types of surfaces, such as, opaque surfaces, specular surfaces, smooth surfaces containing optical nonuniformities, and smooth surfaces that are free of specular nonuniformities.